SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE  PROCEDURE [dbo].[SP_TCMOVI_BANC_EJEC_Q15]                                       
 
/*-------------------------------------------------------*/                                        
/*---Empresa               OFISIS S.A.                --*/                                        
/*---Cliente               ULMA                     --*/                                        
/*---Sistema               Tesoreria                  --*/                                        
/*---M¢dulo                Empresa                    --*/                                        
/*---Programa              FLUJO DE CAJA SEMANAL EJECUTADO(REPORTE)      --*/                                        
/*---Script                SP_TCMOVI_BANC_Q03.sql     --*/                                        
/*---Nombre SP             SP_TCMOVI_BANC_Q03         --*/                                        
/*---Desarrollado por      Maribel Julca Rodriguez      --*/                                        
/*---Fecha Creaci¢n        06/02/2007                 --*/                                        
/*---Base Datos            SQL SERVER        --*/                                        
/*---Versi¢n               2000                       --*/                                        
/*---Invoca a SP                                      --*/                                        
/*-------------------------------------------------------*/                                        
                                        
/*-------------------------------------------------------*/                                        
/*---Modificado 1 por           --*/                                        
/*---Fecha Modificaci¢n         --*/                                         
/*---Detalle Modificaci¢n       --*/                                        
/*-------------------------------------------------------*/                                        
                                        
/*-------------------------------------------------------*/                                        
/*---Drop Proc SP_TCMOVI_BANC_Q03                      --*/                                        
/*---Grant all on SP_TCMOVI_BANC_Q03 to public         --*/                                         
/*---SP_TCMOVI_BANC_Q03 '01', 'DOL', 10, 2001, 11, 2001  --*/                                        
/*-------------------------------------------------------*/                                        
                                        
--EXEC UL_TCMOVI_BANC_Q15_EJ '01', 'WHERE 1 = 1', '', 'U', 'DOL', '2007/01/01', '2007/03/20'                    
        
@ISCO_EMPR Varchar(2),                                      
@ISCA_WHER_0001 Varchar(256),                                        
@ISCA_WHER_0002 Varchar(256),                                   
@ISTI_PRES TD_VC_001,                                       
@ISCO_MONE TD_VC_003,                                        
@IDFE_OPER_INIC TD_DT_001,                                        
@IDFE_OPER_FINA TD_DT_001                              
/*,                                        
@INNU_MESE_FINA TD_IN_001,                                        
@INNU_ANIO_FINA TD_IN_001  */                                      
As                                        
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q15_EJ_1                                        
 ( CO_EMPR      varchar(3) NULL,                                        
   CO_ARUB varchar(3) NULL ,                                        
   CO_RUBR varchar(3) NULL ,                                        
   CO_SUBR varchar(3) NULL ,                                        
   IM_SE01 numeric(16,4) DEFAULT 0,                                        
   IM_SE02 numeric(16,4) DEFAULT 0,                                        
   IM_SE03 numeric(16,4) DEFAULT 0,                                        
   IM_SE04 numeric(16,4) DEFAULT 0,                                        
   IM_SE05 numeric(16,4) DEFAULT 0,                    
   IM_SE06 numeric(16,4) DEFAULT 0,                                        
   IM_SE07 numeric(16,4) DEFAULT 0,                                        
   IM_SE08 numeric(16,4) DEFAULT 0,                                     
   IM_SE09 numeric(16,4) DEFAULT 0,                                        
   IM_SE10 numeric(16,4) DEFAULT 0,                       
   IM_SE11 numeric(16,4) DEFAULT 0,                                        
 IM_SE12 numeric(16,4) DEFAULT 0,                                        
   IM_SE13 numeric(16,4) DEFAULT 0,                           
   IM_SE14 numeric(16,4) DEFAULT 0,                                        
   IM_SE15 numeric(16,4) DEFAULT 0,                                
  IM_SE16 numeric(16,4) DEFAULT 0,                                        
   IM_SE17 numeric(16,4) DEFAULT 0,                                      
   IM_SE18 numeric(16,4) DEFAULT 0,                                           
   IM_SE19 numeric(16,4) DEFAULT 0,                                     
   IM_SE20 numeric(16,4) DEFAULT 0,                      
    IM_SE21 numeric(16,4) DEFAULT 0,                                          
   IM_SE22 numeric(16,4) DEFAULT 0,                                          
   IM_SE23 numeric(16,4) DEFAULT 0,                                          
   IM_SE24 numeric(16,4) DEFAULT 0,                                          
   IM_SE25 numeric(16,4) DEFAULT 0,                                          
   IM_SE26 numeric(16,4) DEFAULT 0,                                          
   IM_SE27 numeric(16,4) DEFAULT 0,                                          
   IM_SE28 numeric(16,4) DEFAULT 0,                                          
   IM_SE29 numeric(16,4) DEFAULT 0,                                          
   IM_SE30 numeric(16,4) DEFAULT 0,                         
   IM_SE31 numeric(16,4) DEFAULT 0,                                          
   IM_SE32 numeric(16,4) DEFAULT 0,                                          
   IM_SE33 numeric(16,4) DEFAULT 0,                                          
   IM_SE34 numeric(16,4) DEFAULT 0,                                          
   IM_SE35 numeric(16,4) DEFAULT 0,                                          
   IM_SE36 numeric(16,4) DEFAULT 0,                                          
   IM_SE37 numeric(16,4) DEFAULT 0,                                          
   IM_SE38 numeric(16,4) DEFAULT 0,                                             
   IM_SE39 numeric(16,4) DEFAULT 0,                                          
   IM_SE40 numeric(16,4) DEFAULT 0,                      
   IM_SE41 numeric(16,4) DEFAULT 0,                                          
   IM_SE42 numeric(16,4) DEFAULT 0,                                          
   IM_SE43 numeric(16,4) DEFAULT 0,                                          
   IM_SE44 numeric(16,4) DEFAULT 0,                                          
   IM_SE45 numeric(16,4) DEFAULT 0,                                          
   IM_SE46 numeric(16,4) DEFAULT 0,                                          
   IM_SE47 numeric(16,4) DEFAULT 0,                                          
   IM_SE48 numeric(16,4) DEFAULT 0,                                          
   IM_SE49 numeric(16,4) DEFAULT 0,                                          
   IM_SE50 numeric(16,4) DEFAULT 0,                         
   IM_SE51 numeric(16,4) DEFAULT 0,                                          
   IM_SE52 numeric(16,4) DEFAULT 0,                                             
   NU_MESE varchar(2),                                      
   CO_BANC varchar(3) NULL ,                                        
   NU_CNTA_BANC varchar(20) NULL ,                                        
   DE_CNTA_BANC varchar(100) NULL ,                                        
   TI_DETA_EMPR  varchar(1) NULL ,                               
   TI_DETA_BANC  varchar(1) NULL,                           
CO_SUBR_CALC varchar(3) NULL,                                    
ST_CALC_IMPO varchar(1) NULL ,                                    
TI_CALC_IMPO varchar(1) NULL,                    
IM_SALD_INIC numeric(16,4) DEFAULT 0 )                                        
                                   
                   
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q02_DUA                                       
 ( CO_EMPR      varchar(3) NULL,                                        
   CO_ARUB varchar(3) NULL ,            
   CO_RUBR varchar(3) NULL ,                                        
   CO_SUBR varchar(3) NULL ,                                        
   IM_SE01 numeric(16,4) DEFAULT 0,                                        
   IM_SE02 numeric(16,4) DEFAULT 0,                                        
   IM_SE03 numeric(16,4) DEFAULT 0,                                        
   IM_SE04 numeric(16,4) DEFAULT 0,                                        
   IM_SE05 numeric(16,4) DEFAULT 0,                   
   IM_SE06 numeric(16,4) DEFAULT 0,                                        
   IM_SE07 numeric(16,4) DEFAULT 0,                                        
   IM_SE08 numeric(16,4) DEFAULT 0,                                        
   IM_SE09 numeric(16,4) DEFAULT 0,                                        
   IM_SE10 numeric(16,4) DEFAULT 0,                                        
   IM_SE11 numeric(16,4) DEFAULT 0,                                        
   IM_SE12 numeric(16,4) DEFAULT 0,                      
   IM_SE13 numeric(16,4) DEFAULT 0,                                        
   IM_SE14 numeric(16,4) DEFAULT 0,                                        
   IM_SE15 numeric(16,4) DEFAULT 0,                                        
   IM_SE16 numeric(16,4) DEFAULT 0,                                        
   IM_SE17 numeric(16,4) DEFAULT 0,                                        
   IM_SE18 numeric(16,4) DEFAULT 0,                                           
   IM_SE19 numeric(16,4) DEFAULT 0,                                        
   IM_SE20 numeric(16,4) DEFAULT 0,                     
 IM_SE21 numeric(16,4) DEFAULT 0,                                          
   IM_SE22 numeric(16,4) DEFAULT 0,                                          
   IM_SE23 numeric(16,4) DEFAULT 0,                                          
   IM_SE24 numeric(16,4) DEFAULT 0,                                          
   IM_SE25 numeric(16,4) DEFAULT 0,                                          
   IM_SE26 numeric(16,4) DEFAULT 0,                                  
   IM_SE27 numeric(16,4) DEFAULT 0,                                          
   IM_SE28 numeric(16,4) DEFAULT 0,                                          
   IM_SE29 numeric(16,4) DEFAULT 0,                                          
   IM_SE30 numeric(16,4) DEFAULT 0,                         
   IM_SE31 numeric(16,4) DEFAULT 0,                                          
   IM_SE32 numeric(16,4) DEFAULT 0,                                          
   IM_SE33 numeric(16,4) DEFAULT 0,                                          
   IM_SE34 numeric(16,4) DEFAULT 0,                                          
   IM_SE35 numeric(16,4) DEFAULT 0,                                          
   IM_SE36 numeric(16,4) DEFAULT 0,                                          
   IM_SE37 numeric(16,4) DEFAULT 0,                                          
   IM_SE38 numeric(16,4) DEFAULT 0,                                             
   IM_SE39 numeric(16,4) DEFAULT 0,                                          
   IM_SE40 numeric(16,4) DEFAULT 0,                      
   IM_SE41 numeric(16,4) DEFAULT 0,                                          
   IM_SE42 numeric(16,4) DEFAULT 0,                                          
   IM_SE43 numeric(16,4) DEFAULT 0,          
   IM_SE44 numeric(16,4) DEFAULT 0,                                          
   IM_SE45 numeric(16,4) DEFAULT 0,                                          
   IM_SE46 numeric(16,4) DEFAULT 0,                                          
   IM_SE47 numeric(16,4) DEFAULT 0,                        
   IM_SE48 numeric(16,4) DEFAULT 0,                                          
   IM_SE49 numeric(16,4) DEFAULT 0,                                          
   IM_SE50 numeric(16,4) DEFAULT 0,                         
   IM_SE51 numeric(16,4) DEFAULT 0,                                           IM_SE52 numeric(16,4) DEFAULT 0,                
                              
   NU_MESE varchar(2),                                      
   CO_BANC varchar(3) NULL ,                                        
   NU_CNTA_BANC varchar(20) NULL ,                                        
   DE_CNTA_BANC varchar(100) NULL ,                                        
   TI_DETA_EMPR  varchar(1) NULL ,                                      
   TI_DETA_BANC  varchar(1) NULL,                                    
   CO_SUBR_CALC varchar(3) NULL,                                    
ST_CALC_IMPO varchar(1) NULL ,                                    
TI_CALC_IMPO varchar(1) NULL )                      
                                    
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q02_DUA2                                       
 ( CO_EMPR      varchar(3) NULL,                                        
   CO_ARUB varchar(3) NULL ,                                        
   CO_RUBR varchar(3) NULL ,                                        
   CO_SUBR varchar(3) NULL ,                                 
   IM_SE01 numeric(16,4) DEFAULT 0,                                        
   IM_SE02 numeric(16,4) DEFAULT 0,                                        
   IM_SE03 numeric(16,4) DEFAULT 0,                                        
   IM_SE04 numeric(16,4) DEFAULT 0,                                        
   IM_SE05 numeric(16,4) DEFAULT 0,                                        
   IM_SE06 numeric(16,4) DEFAULT 0,                                        
   IM_SE07 numeric(16,4) DEFAULT 0,                                        
   IM_SE08 numeric(16,4) DEFAULT 0,                                        
   IM_SE09 numeric(16,4) DEFAULT 0,                                        
   IM_SE10 numeric(16,4) DEFAULT 0,                                        
   IM_SE11 numeric(16,4) DEFAULT 0,                       
   IM_SE12 numeric(16,4) DEFAULT 0,                     
   IM_SE13 numeric(16,4) DEFAULT 0,                                        
   IM_SE14 numeric(16,4) DEFAULT 0,                                        
   IM_SE15 numeric(16,4) DEFAULT 0,                                        
   IM_SE16 numeric(16,4) DEFAULT 0,                                        
   IM_SE17 numeric(16,4) DEFAULT 0,                                        
   IM_SE18 numeric(16,4) DEFAULT 0,                                           
   IM_SE19 numeric(16,4) DEFAULT 0,                                        
   IM_SE20 numeric(16,4) DEFAULT 0,                      
 IM_SE21 numeric(16,4) DEFAULT 0,                                          
   IM_SE22 numeric(16,4) DEFAULT 0,                                          
   IM_SE23 numeric(16,4) DEFAULT 0,                                          
   IM_SE24 numeric(16,4) DEFAULT 0,                                          
   IM_SE25 numeric(16,4) DEFAULT 0,                                          
   IM_SE26 numeric(16,4) DEFAULT 0,                                          
   IM_SE27 numeric(16,4) DEFAULT 0,                                          
   IM_SE28 numeric(16,4) DEFAULT 0,                                          
   IM_SE29 numeric(16,4) DEFAULT 0,                                          
   IM_SE30 numeric(16,4) DEFAULT 0,                         
   IM_SE31 numeric(16,4) DEFAULT 0,                                          
   IM_SE32 numeric(16,4) DEFAULT 0,                                          
   IM_SE33 numeric(16,4) DEFAULT 0,                                          
   IM_SE34 numeric(16,4) DEFAULT 0,                                          
   IM_SE35 numeric(16,4) DEFAULT 0,                                          
   IM_SE36 numeric(16,4) DEFAULT 0,                                          
   IM_SE37 numeric(16,4) DEFAULT 0,                                          
   IM_SE38 numeric(16,4) DEFAULT 0,                                             
   IM_SE39 numeric(16,4) DEFAULT 0,                                          
   IM_SE40 numeric(16,4) DEFAULT 0,                      
   IM_SE41 numeric(16,4) DEFAULT 0,                                          
   IM_SE42 numeric(16,4) DEFAULT 0,                                          
   IM_SE43 numeric(16,4) DEFAULT 0,                                          
   IM_SE44 numeric(16,4) DEFAULT 0,                                          
   IM_SE45 numeric(16,4) DEFAULT 0,                                          
   IM_SE46 numeric(16,4) DEFAULT 0,                                          
   IM_SE47 numeric(16,4) DEFAULT 0,               
   IM_SE48 numeric(16,4) DEFAULT 0,                                          
   IM_SE49 numeric(16,4) DEFAULT 0,                                          
   IM_SE50 numeric(16,4) DEFAULT 0,                         
   IM_SE51 numeric(16,4) DEFAULT 0,                                          
   IM_SE52 numeric(16,4) DEFAULT 0,                                              
   NU_MESE varchar(2),                                      
   CO_BANC varchar(3) NULL ,                                     
   NU_CNTA_BANC varchar(20) NULL ,                                        
   DE_CNTA_BANC varchar(100) NULL ,                                        
   TI_DETA_EMPR  varchar(1) NULL ,                                      
   TI_DETA_BANC  varchar(1) NULL,                                    
   CO_SUBR_CALC varchar(3) NULL,                                    
ST_CALC_IMPO varchar(1) NULL ,                                    
TI_CALC_IMPO varchar(1) NULL )                               
                                      
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q02_4                                       
 ( CO_EMPR      varchar(3) NULL,                                        
   DE_EMPR      varchar(100) NULL,                                        
   CO_ARUB varchar(3) NULL ,                                        
   DE_ARUB    varchar(100) NULL,                                       
   CO_RUBR varchar(3) NULL ,                                        
   DE_RUBR      varchar(100) NULL,                     
   CO_SUBR varchar(3) NULL ,                                        
   DE_SUBR      varchar(100) NULL,                                       
   IM_SE01 numeric(16,4) DEFAULT 0,                                        
   IM_SE02 numeric(16,4) DEFAULT 0,                                        
   IM_SE03 numeric(16,4) DEFAULT 0,                                        
   IM_SE04 numeric(16,4) DEFAULT 0,                                        
   IM_SE05 numeric(16,4) DEFAULT 0,                                        
   IM_SE06 numeric(16,4) DEFAULT 0,                  
   IM_SE07 numeric(16,4) DEFAULT 0,                                        
   IM_SE08 numeric(16,4) DEFAULT 0,                                        
   IM_SE09 numeric(16,4) DEFAULT 0,                                        
   IM_SE10 numeric(16,4) DEFAULT 0,                                        
   IM_SE11 numeric(16,4) DEFAULT 0,                                        
   IM_SE12 numeric(16,4) DEFAULT 0,                       
   IM_SE13 numeric(16,4) DEFAULT 0,                                        
   IM_SE14 numeric(16,4) DEFAULT 0,                                        
   IM_SE15 numeric(16,4) DEFAULT 0,                                        
   IM_SE16 numeric(16,4) DEFAULT 0,                                        
   IM_SE17 numeric(16,4) DEFAULT 0,                                        
   IM_SE18 numeric(16,4) DEFAULT 0,                                           
   IM_SE19 numeric(16,4) DEFAULT 0,                                        
   IM_SE20 numeric(16,4) DEFAULT 0,                       
 IM_SE21 numeric(16,4) DEFAULT 0,            
   IM_SE22 numeric(16,4) DEFAULT 0,                                          
   IM_SE23 numeric(16,4) DEFAULT 0,                                          
   IM_SE24 numeric(16,4) DEFAULT 0,                                          
   IM_SE25 numeric(16,4) DEFAULT 0,                                          
   IM_SE26 numeric(16,4) DEFAULT 0,                                          
   IM_SE27 numeric(16,4) DEFAULT 0,                                          
   IM_SE28 numeric(16,4) DEFAULT 0,            
   IM_SE29 numeric(16,4) DEFAULT 0,                                          
   IM_SE30 numeric(16,4) DEFAULT 0,                         
   IM_SE31 numeric(16,4) DEFAULT 0,                                          
   IM_SE32 numeric(16,4) DEFAULT 0,                                          
   IM_SE33 numeric(16,4) DEFAULT 0,                         
   IM_SE34 numeric(16,4) DEFAULT 0,                                          
   IM_SE35 numeric(16,4) DEFAULT 0,                                          
   IM_SE36 numeric(16,4) DEFAULT 0,                                          
   IM_SE37 numeric(16,4) DEFAULT 0,                                          
   IM_SE38 numeric(16,4) DEFAULT 0,                                             
   IM_SE39 numeric(16,4) DEFAULT 0,                                          
   IM_SE40 numeric(16,4) DEFAULT 0,                      
   IM_SE41 numeric(16,4) DEFAULT 0,                                          
   IM_SE42 numeric(16,4) DEFAULT 0,                                          
   IM_SE43 numeric(16,4) DEFAULT 0,                                          
   IM_SE44 numeric(16,4) DEFAULT 0,                                          
   IM_SE45 numeric(16,4) DEFAULT 0,                                          
   IM_SE46 numeric(16,4) DEFAULT 0,                                          
   IM_SE47 numeric(16,4) DEFAULT 0,                                          
   IM_SE48 numeric(16,4) DEFAULT 0,                                          
   IM_SE49 numeric(16,4) DEFAULT 0,                                          
   IM_SE50 numeric(16,4) DEFAULT 0,                         
   IM_SE51 numeric(16,4) DEFAULT 0,                                          
   IM_SE52 numeric(16,4) DEFAULT 0,                                       
   NU_MESE varchar(2) NULL,                                      
   CO_BANC varchar(3) NULL ,                                        
   NU_CNTA_BANC varchar(20) NULL ,                                        
   DE_CNTA_BANC varchar(100) NULL ,                                        
   TI_DETA_EMPR  varchar(1) NULL ,                                      
   TI_DETA_BANC  varchar(1) NULL,                                  
   NU_ORDE_ARUB INT NULL,                                  
   NU_ORDE_RUBR INT NULL,                                  
   NU_ORDE_SUBR INT NULL )                                        
                                        
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q03_2                                        
 ( ST_CALC_IMPO varchar(1) NULL ,                                    
   TI_CALC_IMPO varchar(1) NULL,                                    
   CO_SUBR_CALC varchar(3) NULL,                                    
   CO_EMPR      varchar(3) NULL,                                        
   CO_ARUB varchar(3) NULL ,                                        
   CO_RUBR varchar(3) NULL ,    
   CO_SUBR varchar(3) NULL ,                                        
   FE_OPER datetime NULL,                                        
   FA_TIPO_CAMB numeric(9,4) DEFAULT 0,                                        
   CO_MONE varchar(3) NULL ,                               
   IM_MOVI numeric(16,4) DEFAULT 0,                                      
   CO_BANC varchar(3) NULL ,                                        
   NU_CNTA_BANC varchar(20) NULL ,                                        
   DE_CNTA_BANC varchar(100) NULL ,                                        
   IM_SALD_INIC numeric(16,4) DEFAULT 0,                                      
   TI_DETA_EMPR  varchar(1) NULL ,                                      
   TI_DETA_BANC  varchar(1) NULL)                                      
                                    
                                    
                                    
                                      
CREATE TABLE #TWFLUJ_CAJA_SEMA_Q03_3                                       
 ( CO_EMPR      varchar(3) NULL,                              
   CO_BANC varchar(3) NULL ,                                        
   NU_CNTA_BANC varchar(20) NULL ,          
   DE_CNTA_BANC varchar(100) NULL ,                                        
   NU_MESE datetime NULL,                                        
   FA_TIPO_CAMB numeric(9,4) DEFAULT 0,                                        
   CO_MONE varchar(3) NULL ,                                        
   IM_SALD_INIC numeric(16,4) DEFAULT 0,                                      
   TI_DETA_EMPR  varchar(1) NULL ,                                      
   TI_DETA_BANC  varchar(1) NULL)                                        
                     
Create Table #TWSABA_REPO(                         
    CO_EMPR CHAR(02) NULL,                         
    CO_BANC VARCHAR(03) NULL,                        
    NU_CNTA_BANC VARCHAR(20) NULL,                     
    AA_BNCO VARCHAR(04) NULL,                        
    MM_BNCO VARCHAR(02) NULL,                        
    IM_SALD_INIC Numeric(16,4) NULL)                         
                        
Create Table #TWSABA_REPO_AUXI(                         
CO_EMPR VARCHAR(02) NULL,                        
CO_BANC VARCHAR(03) NULL,                        
NU_CNTA_BANC VARCHAR(20) NULL,                        
IM_SALD_INIC Numeric(16,4) NULL)                     
                                       
DECLARE                                        
                                        
@VNNU_MESE  TD_IN_001,                                        
@VNNU_ANIO  TD_IN_001,                    
@VSNU_MESE  TD_VC_002,                                        
@VSNU_ANIO  VARCHAR(4),                                        
@VNNU_CONT_SEMA TD_IN_001,                                        
@VSDE_SELE VARCHAR(6000),                                        
@VSCO_EMPR VARCHAR (50),                        
@VSDE_CAMP VARCHAR(7) ,                                    
@VSCO_MONE_NACI TD_VC_003,                                    
@VSCO_MONE_EXTR TD_VC_003,                                  
@VNNU_FACT  NUMERIC(16,4),                            
@VNNU_SEMA_ACTU TD_IN_001,                             
@VSFE_OPER_INIC TD_VC_020,                              
@VSFE_OPER_FINA TD_VC_020,                              
@VSFE_INIC_SEMA TD_VC_020,                              
@VSFE_FINA_SEMA TD_VC_020,                            
@VNNU_SEMA_INIC TD_IN_001,                              
@VNNU_SEMA_FINA TD_IN_001,                    
@VDFE_FINA_SEMA TD_DT_001,                    
@VNIM_SALD_FLUJ  numeric(16,4),                    
@VNNU_SEMA_NUEV   TD_IN_001,                    
@VDFE_INIC_NUEV   TD_DT_001,                    
@VSDE_CAMP_0001 VARCHAR(10) ,                        
@VSDE_CAMP_0002 VARCHAR(10) ,                        
@VSDE_CAMP_0003 VARCHAR(10) ,          
@VSDE_CAMP_0004 VARCHAR(10) ,                        
@VSDE_CAMP_0005 VARCHAR(10) ,                        
@VSDE_CAMP_0006 VARCHAR(10) ,                        
@VSDE_CAMP_0007 VARCHAR(10) ,                        
@VSDE_CAMP_0008 VARCHAR(10) ,                        
@VSDE_CAMP_0009 VARCHAR(10) ,                        
@VSDE_CAMP_0010 VARCHAR(10) ,                        
@VSDE_CAMP_0011 VARCHAR(10) ,              @VSDE_CAMP_0012 VARCHAR(10) ,                        
@VSDE_CAMP_0013 VARCHAR(10) ,                        
@VSDE_CAMP_0014 VARCHAR(10) ,                        
@VSDE_CAMP_0015 VARCHAR(10) ,                        
@VSDE_CAMP_0016 VARCHAR(10) ,                        
@VSDE_CAMP_0017 VARCHAR(10) ,                        
@VSDE_CAMP_0018 VARCHAR(10) ,                        
@VSDE_CAMP_0019 VARCHAR(10) ,                        
@VSDE_CAMP_0020 VARCHAR(10) ,                  
@VNFA_CAMB_MENS  TD_NU_015_006,        
@VNNU_CONT_REPO  TD_IN_001,        
@VNNU_COLU_VARI  TD_IN_001                                   
                                        
                                  
-- PRESENTACION EN UNIDADES O MILES                                    
IF @ISTI_PRES = 'U'                                    
 SELECT @VNNU_FACT = 1                                    
IF @ISTI_PRES = 'M'                                    
 SELECT @VNNU_FACT = 0.001                                    
                                    
Select @VSCO_MONE_NACI = CO_MONE_DEFA, @VSCO_MONE_EXTR = CO_MONE_EXTR                                             
From TMPARA_TESO                                            
Where CO_EMPR = @ISCO_EMPR                                            
                            
SELECT @VSFE_OPER_INIC = CONVERT(VARCHAR(10), @IDFE_OPER_INIC, 103)                             
SELECT @VSFE_OPER_FINA = CONVERT(VARCHAR(10), @IDFE_OPER_FINA, 103)                             
SELECT @VNNU_ANIO = YEAR(@IDFE_OPER_INIC)                            
                            
                            
                                        
SELECT @VNNU_SEMA_INIC = NU_SEMA                            
FROM TTSEMA_FLUJ                            
WHERE CO_EMPR = @ISCO_EMPR                            
AND NU_ANIO = YEAR(@IDFE_OPER_INIC)                            
AND FE_INIC_SEMA < = Convert(Datetime, @VSFE_OPER_INIC, 103)                              
AND FE_FINA_SEMA > = Convert(Datetime, @VSFE_OPER_INIC, 103)                             
                            
                            
                            
--SELECT *FROM TTSEMA_FLUJ                            
                            
SELECT @VNNU_SEMA_FINA = NU_SEMA                            
FROM TTSEMA_FLUJ                            
WHERE CO_EMPR = @ISCO_EMPR                            
AND NU_ANIO = YEAR(@IDFE_OPER_FINA)                            
AND FE_INIC_SEMA < = Convert(Datetime, @VSFE_OPER_FINA, 103)                              
AND FE_FINA_SEMA > = Convert(Datetime, @VSFE_OPER_FINA, 103)                             
                             
                                       
----   SETEO FECHA INICIAL Y FECHA FINAL INGRESADA ---------                                        
-- @VNNU_MESE = @INNU_MESE_INIC, @VNNU_ANIO = @INNU_ANIO_INIC,                             
SELECT  @VNNU_CONT_SEMA = 1 , @VNNU_SEMA_ACTU = @VNNU_SEMA_INIC                                       
                            
                            
--  <= Convert(Datetime, '" + @VSFE_CANC + "', 103)                             
                            
                                        
/* FORMO EL NOMBRE DEL CAMPO (IM_SE01) QUE CORRESPONDERA AL IMPORTE DEL MES 1,                                        
 EN EL LOOP SE FORMARA EN LA CADENA @VSDE_CAMP EL NOMBRE DEL CAMPO DE LOS                                       
 PERIODOS DEL 2 (IM_SE02) AL 12 (IM_SE12)*/                                        
SELECT @VSDE_CAMP = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_CONT_SEMA))))) + 
RTRIM(LTRIM(STR(@VNNU_CONT_SEMA)))                                        
                                        
                                        
                                        
--- LOOP PARA LLENAR LA TABLA TEMPORAL MES POR MES, DESDE EL MES 1 AL MES 12 -------------------                              
          
WHILE (@VNNU_CONT_SEMA <= (@VNNU_SEMA_FINA - @VNNU_SEMA_INIC + 1)   AND   @VNNU_CONT_SEMA <= 52)                              
      
BEGIN                                        
                             
SELECT @VSFE_INIC_SEMA = Convert(Datetime, FE_INIC_SEMA, 103), @VSFE_FINA_SEMA = Convert(Datetime, FE_FINA_SEMA, 103),        
            
@VSNU_ANIO = YEAR(FE_INIC_SEMA), @VSNU_MESE = REPLICATE('0', 2-LEN(RTRIM(LTRIM(MONTH(FE_INIC_SEMA))))) + 
RTRIM(LTRIM(MONTH(FE_INIC_SEMA)))                            
FROM TTSEMA_FLUJ                            
WHERE CO_EMPR = @ISCO_EMPR                            
AND NU_ANIO = @VNNU_ANIO                            
AND NU_SEMA = @VNNU_SEMA_ACTU                              
                
SELECT @VNFA_CAMB_MENS = FA_CAMB_CMPR                  
FROM TCFACT_PRME                  
WHERE CO_MONE = @VSCO_MONE_EXTR                                 
AND NU_ANNO = Convert(int, @VSNU_ANIO)                      
AND NU_MESE = Convert(int, @VSNU_MESE)                   
              
              
IF ISNULL(@VNFA_CAMB_MENS,0) = 0              
BEGIN              
              
select @VNFA_CAMB_MENS = (select TOP 1 FA_CAMB_CMPR                    
FROM TCFACT_PRME                    
WHERE CO_MONE = @VSCO_MONE_EXTR                        
AND ((NU_ANNO = Convert(int, @VSNU_ANIO) AND NU_MESE <= Convert(int, @VSNU_MESE) ) OR (NU_ANNO < Convert(int, @VSNU_ANIO)))   
                       
ORDER BY NU_ANNO DESC, NU_MESE DESC)              
              
END                
                            
--SELECT  @VSNU_MESE = CONVERT(CHAR(2), @VNNU_MESE),                                        
-- @VSNU_ANIO = CONVERT(CHAR(4), @VNNU_ANIO)                                        
                                         
 ---- INSERTO LOS DATA MES POR MES, DESDE EL MES INICIAL ----------                                        
  EXECUTE('                                        
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q03_2                                        
  (CO_EMPR, CO_ARUB, CO_RUBR, CO_SUBR, FE_OPER, FA_TIPO_CAMB, CO_MONE, IM_MOVI, TI_DETA_EMPR, TI_DETA_BANC)                   
                     
  SELECT T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR, T1.FE_OPER, T1.FA_TIPO_CAMB, T5.CO_MONE,  
                                       
  Round( (SELECT Dbo.FN_TCFACT_CAMB_Q02(T5.CO_MONE, "' + @ISCO_MONE + '", T1.FE_OPER,                                       
 
  T1.IM_MOVI * ( PATINDEX(T1.TI_MOVI_BANC, "I") - PATINDEX(T1.TI_MOVI_BANC, "E")),                                         
  T6.TI_CAMB, T6.TI_ORIG, "S", T6.CO_MONE_DEFA, T6.CO_MONE_EXTR, ISNULL(' + @VNFA_CAMB_MENS + ', T1.FA_TIPO_CAMB))), 2) 
,"1","2"                                       
  FROM TCMOVI_BANC T1, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA, TMCNTA_BANC T5, TMEMPR, TMPARA_TESO T6                          
              
  ' + @ISCA_WHER_0001 + @ISCA_WHER_0002 + '                                        
  AND T1.FE_OPER >= Convert(Datetime, "' + @VSFE_INIC_SEMA + '", 103)                                        
  AND T1.FE_OPER <= Convert(Datetime, "' + @VSFE_FINA_SEMA + '", 103)                                          
  AND T1.TI_SITU IN ("ACT", "EXT")                                        
  AND TTSUBR_FINA.ST_REPO = "S"                                      
  AND  T1.CO_EMPR = T5.CO_EMPR                                        
  AND  T1.CO_BANC = T5.CO_BANC           
  AND  T1.NU_CNTA_BANC = T5.NU_CNTA_BANC                                       
  AND T1.CO_EMPR = TTSUBR_FINA.CO_EMPR                                        
  AND T1.CO_SUBR = TTSUBR_FINA.CO_SUBR                                        
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                        
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                        
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                        
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                                
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB                                        
  AND TTSUBR_FINA.CO_EMPR = TMEMPR.CO_EMPR                                        
  AND TTSUBR_FINA.CO_EMPR = T6.CO_EMPR                                        
  UNION ALL                                        
  SELECT T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR, T1.FE_OPER, T1.FA_TIPO_CAMB, T5.CO_MONE,  
                                      
  Round( (SELECT Dbo.FN_TCFACT_CAMB_Q02(T5.CO_MONE, "' + @ISCO_MONE + '", T1.FE_OPER,                                       
 
  T1.IM_MOVI * ( PATINDEX(T1.TI_MOVI, "I") - PATINDEX(T1.TI_MOVI, "E")),                                         
  T6.TI_CAMB, T6.TI_ORIG, "S", T6.CO_MONE_DEFA, T6.CO_MONE_EXTR, ISNULL(' + @VNFA_CAMB_MENS + ', T1.FA_TIPO_CAMB))), 2), 
"1", "2"                                        
  FROM TCMOVI_CAJA T1, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA, TMCAJA T5, TMEMPR, TMPARA_TESO T6                           
  ' + @ISCA_WHER_0001 + @ISCA_WHER_0002 + '                                        
  AND T1.FE_OPER >= Convert(Datetime, "' + @VSFE_INIC_SEMA + '", 103)                                        
  AND T1.FE_OPER <= Convert(Datetime, "' + @VSFE_FINA_SEMA + '", 103)                                       
  AND T1.TI_SITU IN ("ACT", "EXT")                                       
  AND TTSUBR_FINA.ST_REPO = "S"                                        
 AND  T1.CO_EMPR = T5.CO_EMPR                                        
  AND  T1.CO_CAJA = T5.CO_CAJA                                        
  AND T1.CO_EMPR = TTSUBR_FINA.CO_EMPR                                        
  AND T1.CO_SUBR = TTSUBR_FINA.CO_SUBR                                        
AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                        
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                        
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                        
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                                        
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB                                        
  AND TTSUBR_FINA.CO_EMPR = TMEMPR.CO_EMPR                                        
  AND TTSUBR_FINA.CO_EMPR = T6.CO_EMPR                                        
                                     
 ORDER BY T1.CO_EMPR, TTARUB_FINA.CO_ARUB, TTRUBR_FINA.CO_RUBR, TTSUBR_FINA.CO_SUBR')                                        
                                    
                                    
                                      
--SELECT 'PRUEBA1',  @ISCO_EMPR, @VSNU_ANIO, @VSNU_MESE                                      
SELECT @VDFE_FINA_SEMA = Convert(Datetime, @VSFE_FINA_SEMA,103)                    
                    
EXECUTE SP_TWSABA_FLUJ_Q01 @ISCO_EMPR, @ISCO_MONE, @VDFE_FINA_SEMA                        
                                    
INSERT INTO #TWFLUJ_CAJA_SEMA_Q03_3                         
(CO_EMPR, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, CO_MONE, IM_SALD_INIC, TI_DETA_EMPR, TI_DETA_BANC)                             
           
select T2.CO_EMPR, T2.CO_BANC, T2.NU_CNTA_BANC, T2.DE_CNTA_BANC, T2.CO_MONE,                             
T4.IM_SALD_INIC, '1', '1'                              
 from  TTBANC_FINA T1, TMCNTA_BANC T2, #TWSABA_REPO T4                              
 Where T2.CO_EMPR =   @ISCO_EMPR                              
  and t1.co_banc = t2.co_banc                            
  and t1.st_banc_empr = 'S'                                    
  And T2.CO_EMPR = T4.CO_EMPR                              
  And T2.CO_BANC = T4.CO_BANC                              
  And T2.NU_CNTA_BANC = T4.NU_CNTA_BANC                                           
 ORDER BY T2.CO_EMPR, T2.CO_BANC, T2.NU_CNTA_BANC                                        
                                   
                         
                        
DELETE FROM #TWSABA_REPO_AUXI                        
DELETE FROM #TWSABA_REPO                                      
                                    
 --SELECT *FROM  TCFACT_PRME                                    
                                        
 --SELECT * FROM #TWFLUJ_CAJA_SEMA_Q03_2                                        
 --WHERE CO_SUBR = '119'                                        
                                       
  ----- INSERTO EN OTRA TABLA TEMPORAL EL IMPORTE CONVERTIDO EN EL PERIODO CORRESPONDIENTE ----------------                   
                     
  EXECUTE('                                        
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q15_EJ_1                                
  (CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, CO_ARUB, CO_RUBR, CO_SUBR, CO_SUBR_CALC, ' + @VSDE_CAMP + ', NU_MESE)               
                         
  SELECT CO_EMPR, "1", "2", CO_ARUB, CO_RUBR, CO_SUBR, CO_SUBR_CALC, IM_MOVI, CONVERT(CHAR(2), "' + @VNNU_CONT_SEMA  + '")  
                                  
  FROM #TWFLUJ_CAJA_SEMA_Q03_2                             
  ')                                
                                      
  EXECUTE('                                        
  INSERT INTO #TWFLUJ_CAJA_SEMA_Q15_EJ_1                                        
  (CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, ' + @VSDE_CAMP + ', NU_MESE)                   
                     
  SELECT CO_EMPR, "1", "1", CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, IM_SALD_INIC, CONVERT(CHAR(2), "' + @VNNU_CONT_SEMA  + '") 
                                            
  FROM #TWFLUJ_CAJA_SEMA_Q03_3')                                       
                                    
                                    
--SELECT *FROM #TWFLUJ_CAJA_SEMA_Q03_2                                    
                                       
  ----- BORRA LA TABLA TEMPORAL ORIGEN PARA LLENARLA CON LA DATA DEL SUGUIENTE PERIODO -----------------                      
                  
  DELETE #TWFLUJ_CAJA_SEMA_Q03_2                                       
  --DELETE #TWFLUJ_CAJA_SEMA_Q03_DUA                                    
  DELETE #TWFLUJ_CAJA_SEMA_Q03_3                                     
                                         
  SELECT @VNNU_CONT_SEMA = @VNNU_CONT_SEMA + 1, @VNNU_SEMA_ACTU = @VNNU_SEMA_ACTU + 1                                        
 /* IF @VNNU_MESE = 13                                        
  BEGIN                                        
   SELECT @VNNU_MESE = 1                                        
   SELECT @VNNU_ANIO = @VNNU_ANIO + 1                                        
  END*/                                        
  SELECT @VSDE_CAMP = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_CONT_SEMA))))) + 
RTRIM(LTRIM(STR(@VNNU_CONT_SEMA)))                                        
                                         
END                                        
                                    
                                    
                                    
                                       
INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_4 (CO_EMPR, DE_EMPR, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR, CO_SUBR, DE_SUBR,                  
                    
IM_SE01, IM_SE02, IM_SE03, IM_SE04, IM_SE05, IM_SE06, IM_SE07, IM_SE08,                           
IM_SE09, IM_SE10, IM_SE11, IM_SE12, IM_SE13, IM_SE14, IM_SE15, IM_SE16, IM_SE17, IM_SE18,                                     
 
IM_SE19, IM_SE20, IM_SE21, IM_SE22, IM_SE23, IM_SE24, IM_SE25, IM_SE26, IM_SE27, IM_SE28,                                     
  
IM_SE29, IM_SE30, IM_SE31, IM_SE32, IM_SE33, IM_SE34, IM_SE35, IM_SE36, IM_SE37, IM_SE38,                                     
 
IM_SE39, IM_SE40, IM_SE41, IM_SE42, IM_SE43, IM_SE44, IM_SE45, IM_SE46, IM_SE47, IM_SE48,                                     
  
IM_SE49, IM_SE50, IM_SE51, IM_SE52,CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC,NU_ORDE_ARUB, 
NU_ORDE_RUBR, NU_ORDE_SUBR)                                      
SELECT T1.CO_EMPR, MAX(T5.DE_NOMB), T4.CO_ARUB, MAX(T4.DE_ARUB), T3.CO_RUBR, MAX(T3.DE_RUBR), T2.CO_SUBR, MAX(T2.DE_SUBR),    
                                    
 SUM(T1.IM_SE01), SUM(T1.IM_SE02), SUM(T1.IM_SE03), SUM(T1.IM_SE04), SUM(T1.IM_SE05),                                         
 SUM(T1.IM_SE06), SUM(T1.IM_SE07), SUM(T1.IM_SE08), SUM(T1.IM_SE09), SUM(T1.IM_SE10),                                         
 SUM(T1.IM_SE11), SUM(T1.IM_SE12) , SUM(T1.IM_SE13), SUM(T1.IM_SE14), SUM(T1.IM_SE15),           
 SUM(T1.IM_SE16), SUM(T1.IM_SE17), SUM(T1.IM_SE18), SUM(T1.IM_SE19), SUM(T1.IM_SE20),                     
 SUM(T1.IM_SE21), SUM(T1.IM_SE22), SUM(T1.IM_SE23), SUM(T1.IM_SE24), SUM(T1.IM_SE25),                                         
 SUM(T1.IM_SE26), SUM(T1.IM_SE27), SUM(T1.IM_SE28), SUM(T1.IM_SE29), SUM(T1.IM_SE30),                                         
 SUM(T1.IM_SE31), SUM(T1.IM_SE32) , SUM(T1.IM_SE33), SUM(T1.IM_SE34), SUM(T1.IM_SE35),                                        
 
 SUM(T1.IM_SE36), SUM(T1.IM_SE37), SUM(T1.IM_SE38), SUM(T1.IM_SE39), SUM(T1.IM_SE40),                     
 SUM(T1.IM_SE41), SUM(T1.IM_SE42), SUM(T1.IM_SE43), SUM(T1.IM_SE44), SUM(T1.IM_SE45),                                         
 SUM(T1.IM_SE46), SUM(T1.IM_SE47), SUM(T1.IM_SE48), SUM(T1.IM_SE49), SUM(T1.IM_SE50),                                         
 SUM(T1.IM_SE51), SUM(T1.IM_SE52),                    
 NULL,NULL, NULL, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC),                                  
 MAX(T4.NU_ORDE), MAX(T3.NU_ORDE), MAX(T2.NU_ORDE)                                       
FROM #TWFLUJ_CAJA_SEMA_Q15_EJ_1 T1, TTSUBR_FINA T2, TTRUBR_FINA T3, TTARUB_FINA T4, TMEMPR T5                                 
       
WHERE T1.CO_EMPR = @ISCO_EMPR
AND T1.CO_EMPR = T2.CO_EMPR                                        
AND  T2.ST_REPO = 'S'                                        
AND T1.CO_SUBR = T2.CO_SUBR                                        
AND T2.CO_EMPR = T3.CO_EMPR                                        
AND  T2.CO_RUBR = T3.CO_RUBR                                        
AND T3.CO_EMPR = T4.CO_EMPR                                        
AND T3.CO_ARUB = T4.CO_ARUB                                        
AND T1.CO_EMPR = T5.CO_EMPR                                    
AND  EXISTS ( SELECT T6.CO_RUBR                             
   FROM  TTRUBR_FINA T6                                        
   WHERE  T6.CO_EMPR = T2.CO_EMPR                                        
   AND  T6.CO_RUBR = T2.CO_RUBR                                        
   AND  T6.ST_REPO = 'S'                                        
   AND EXISTS ( SELECT T7.CO_ARUB                                        
      FROM  TTARUB_FINA T7                                        
WHERE  T7.CO_EMPR = T6.CO_EMPR                                        
          AND  T7.CO_ARUB = T6.CO_ARUB                                        
          AND  T7.ST_REPO = 'S'))                                        
GROUP BY T1.CO_EMPR, T4.CO_ARUB, T3.CO_RUBR, T2.CO_SUBR                                        
ORDER BY T1.CO_EMPR, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC), MAX(T4.NU_ORDE), MAX(T3.NU_ORDE), MAX(T2.NU_ORDE)            
    
                                    
                                    
                                      
INSERT INTO #TWFLUJ_CAJA_SEMA_Q02_4 (CO_EMPR, DE_EMPR, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR,  CO_SUBR, DE_SUBR,                 
                      
IM_SE01, IM_SE02, IM_SE03, IM_SE04, IM_SE05, IM_SE06, IM_SE07, IM_SE08,                                      
IM_SE09, IM_SE10, IM_SE11, IM_SE12, IM_SE13, IM_SE14, IM_SE15, IM_SE16, IM_SE17, IM_SE18,                                     
 
IM_SE19, IM_SE20, IM_SE21, IM_SE22, IM_SE23, IM_SE24, IM_SE25, IM_SE26, IM_SE27, IM_SE28,                                     
  
IM_SE29, IM_SE30, IM_SE31, IM_SE32, IM_SE33, IM_SE34, IM_SE35, IM_SE36, IM_SE37, IM_SE38,                                     
 
IM_SE39, IM_SE40, IM_SE41, IM_SE42, IM_SE43, IM_SE44, IM_SE45, IM_SE46, IM_SE47, IM_SE48,                                     
  
IM_SE49, IM_SE50, IM_SE51, IM_SE52, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC)                          
            
SELECT T1.CO_EMPR, MAX(T5.DE_NOMB), NULL, NULL, NULL, NULL, NULL, NULL,                                        
 SUM(T1.IM_SE01), SUM(T1.IM_SE02), SUM(T1.IM_SE03), SUM(T1.IM_SE04), SUM(T1.IM_SE05),                                 
 SUM(T1.IM_SE06), SUM(T1.IM_SE07), SUM(T1.IM_SE08), SUM(T1.IM_SE09), SUM(T1.IM_SE10),                                         
 SUM(T1.IM_SE11), SUM(T1.IM_SE12) , SUM(T1.IM_SE13), SUM(T1.IM_SE14), SUM(T1.IM_SE15),                                        
 
 SUM(T1.IM_SE16), SUM(T1.IM_SE17), SUM(T1.IM_SE18), SUM(T1.IM_SE19), SUM(T1.IM_SE20),                     
 SUM(T1.IM_SE21), SUM(T1.IM_SE22), SUM(T1.IM_SE23), SUM(T1.IM_SE24), SUM(T1.IM_SE25),                                         
 SUM(T1.IM_SE26), SUM(T1.IM_SE27), SUM(T1.IM_SE28), SUM(T1.IM_SE29), SUM(T1.IM_SE30),                                         
 SUM(T1.IM_SE31), SUM(T1.IM_SE32) , SUM(T1.IM_SE33), SUM(T1.IM_SE34), SUM(T1.IM_SE35),                                        
 
 SUM(T1.IM_SE36), SUM(T1.IM_SE37), SUM(T1.IM_SE38), SUM(T1.IM_SE39), SUM(T1.IM_SE40),                     
 SUM(T1.IM_SE41), SUM(T1.IM_SE42), SUM(T1.IM_SE43), SUM(T1.IM_SE44), SUM(T1.IM_SE45),                           
 SUM(T1.IM_SE46), SUM(T1.IM_SE47), SUM(T1.IM_SE48), SUM(T1.IM_SE49), SUM(T1.IM_SE50),                                         
 SUM(T1.IM_SE51), SUM(T1.IM_SE52),                                        
 MAX(T1.CO_BANC),MAX(T1.NU_CNTA_BANC), MAX(T1.DE_CNTA_BANC), MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC)                       
               
FROM #TWFLUJ_CAJA_SEMA_Q15_EJ_1 T1,  TMEMPR T5                                        
WHERE T1.CO_EMPR = @ISCO_EMPR
AND T1.CO_EMPR = T5.CO_EMPR                                      
AND ISNULL(T1.CO_BANC,'') != ''                                    
AND ISNULL(T1.NU_CNTA_BANC,'') != ''                                       
GROUP BY T1.CO_EMPR, T1.CO_BANC, T1.NU_CNTA_BANC                                      
ORDER BY T1.CO_EMPR, MAX(T1.TI_DETA_EMPR), MAX(T1.TI_DETA_BANC), MAX(T1.CO_BANC), MAX(T1.NU_CNTA_BANC)                        
              
        
-- HALLAMOS EL NUMERO DE COLUMNAS QUE OCUPARA PARA EL PROYECTADO, SI FUERA MENOS ABARCARA MAS EL EJECUTADO        
    
IF 10 - (52- @VNNU_SEMA_FINA) > 0        
    SELECT @VNNU_COLU_VARI = 10 - (52- @VNNU_SEMA_FINA)        
ELSE         
    SELECT @VNNU_COLU_VARI = 0        
        
    
    
                                    
IF @VNNU_CONT_SEMA >= (10 + @VNNU_COLU_VARI)                    
BEGIN                                     
    -- SELECT @VNNU_PARC_SEMA = @VNNU_CONT_SEMA - 19                    
     SELECT @VNNU_SEMA_NUEV = @VNNU_CONT_SEMA - (10 +  @VNNU_COLU_VARI)                   
 SELECT @VDFE_INIC_NUEV = FE_INIC_SEMA                            
 FROM TTSEMA_FLUJ                            
 WHERE CO_EMPR = @ISCO_EMPR                            
 AND NU_ANIO = YEAR(@IDFE_OPER_FINA)                            
 AND NU_SEMA = @VNNU_SEMA_NUEV                    
                    
END                    
ELSE                    
 BEGIN                    
 SELECT @VNNU_SEMA_NUEV = 1                 
              
 SELECT @VDFE_INIC_NUEV = FE_INIC_SEMA                            
 FROM TTSEMA_FLUJ                            
 WHERE CO_EMPR = @ISCO_EMPR                            
 AND NU_ANIO = YEAR(@IDFE_OPER_INIC)                            
 AND NU_SEMA = @VNNU_SEMA_INIC               
              
              
END                    
                    
                       
              
                   
 SELECT @VNIM_SALD_FLUJ = (Select Isnull(Sum( Isnull(T1.IM_MOVI, 0)), 0)                    
   From (Select Round(Dbo.FN_TCFACT_CAMB_Q02(TMCNTA_BANC.CO_MONE, @ISCO_MONE, TCMOVI_BANC.FE_OPER,                    
    TCMOVI_BANC.IM_MOVI * ( PATINDEX(TCMOVI_BANC.TI_MOVI_BANC, 'I') - PATINDEX(TCMOVI_BANC.TI_MOVI_BANC, 'E')),           
          
   TMPARA_TESO.TI_CAMB, TMPARA_TESO.TI_ORIG, 'S', TMPARA_TESO.CO_MONE_DEFA, TMPARA_TESO.CO_MONE_EXTR, ISNULL(  
(Dbo.FN_TCFACT_CAMB_MENS_Q01 (@ISCO_EMPR, TMCNTA_BANC.CO_MONE, @ISCO_MONE, YEAR(TCMOVI_BANC.FE_OPER), 
MONTH(TCMOVI_BANC.FE_OPER))),TCMOVI_BANC.FA_TIPO_CAMB)), 2) IM_MOVI                    
    From  TCMOVI_BANC , TMCNTA_BANC, TMPARA_TESO, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA                    
    Where  TCMOVI_BANC.CO_EMPR = @ISCO_EMPR        
    And  TCMOVI_BANC.FE_OPER < @VDFE_INIC_NUEV                    
    And  TCMOVI_BANC.TI_SITU IN ('ACT', 'EXT')                    
    And  Rtrim(Isnull(TCMOVI_BANC.CO_SUBR, '')) != ''                    
    And  TCMOVI_BANC.CO_EMPR = TMCNTA_BANC.CO_EMPR                    
    And  TCMOVI_BANC.CO_BANC = TMCNTA_BANC.CO_BANC                    
    And  TCMOVI_BANC.NU_CNTA_BANC = TMCNTA_BANC.NU_CNTA_BANC                    
    And  TCMOVI_BANC.CO_EMPR = TMPARA_TESO.CO_EMPR              
    AND TTSUBR_FINA.ST_REPO = 'S'                                              
  AND TCMOVI_BANC.CO_EMPR = TTSUBR_FINA.CO_EMPR                                        
  AND TCMOVI_BANC.CO_SUBR = TTSUBR_FINA.CO_SUBR                                        
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                        
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                    
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                        
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                                        
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB) T1)                    
 +                    
   (Select Isnull(Sum( Isnull(T1.IM_MOVI, 0)), 0)                    
   From (Select Round( Dbo.FN_TCFACT_CAMB_Q02(TMCAJA.CO_MONE, @ISCO_MONE, TCMOVI_CAJA.FE_OPER,                     
   TCMOVI_CAJA.IM_MOVI * ( PATINDEX(TCMOVI_CAJA.TI_MOVI, 'I') - PATINDEX(TCMOVI_CAJA.TI_MOVI, 'E')),                     
   TMPARA_TESO.TI_CAMB, TMPARA_TESO.TI_ORIG, 'S', TMPARA_TESO.CO_MONE_DEFA, TMPARA_TESO.CO_MONE_EXTR, ISNULL(  
(Dbo.FN_TCFACT_CAMB_MENS_Q01 (@ISCO_EMPR, TMCAJA.CO_MONE, @ISCO_MONE, YEAR(TCMOVI_CAJA.FE_OPER), 
MONTH(TCMOVI_CAJA.FE_OPER))),TCMOVI_CAJA.FA_TIPO_CAMB)), 2) IM_MOVI                    
    From  TCMOVI_CAJA , TMCAJA, TMPARA_TESO, TTSUBR_FINA, TTRUBR_FINA, TTARUB_FINA                     
    Where  TCMOVI_CAJA.CO_EMPR = @ISCO_EMPR                    
    And  TCMOVI_CAJA.FE_OPER < @VDFE_INIC_NUEV                    
    And TCMOVI_CAJA.TI_SITU IN ('ACT', 'EXT')                    
    And  Rtrim(Isnull(TCMOVI_CAJA.CO_SUBR, '')) != ''                    
    And  TCMOVI_CAJA.CO_EMPR = TMCAJA.CO_EMPR                    
    And  TCMOVI_CAJA.CO_CAJA = TMCAJA.CO_CAJA                    
    And  TCMOVI_CAJA.CO_EMPR = TMPARA_TESO.CO_EMPR              
 AND TTSUBR_FINA.ST_REPO = 'S'                                              
  AND TCMOVI_CAJA.CO_EMPR = TTSUBR_FINA.CO_EMPR                                        
  AND TCMOVI_CAJA.CO_SUBR = TTSUBR_FINA.CO_SUBR                                        
  AND TTSUBR_FINA.CO_EMPR = TTRUBR_FINA.CO_EMPR                                        
  AND  TTSUBR_FINA.CO_ARUB = TTRUBR_FINA.CO_ARUB                                        
  AND  TTSUBR_FINA.CO_RUBR = TTRUBR_FINA.CO_RUBR                                        
  AND TTRUBR_FINA.CO_EMPR = TTARUB_FINA.CO_EMPR                                        
  AND TTRUBR_FINA.CO_ARUB = TTARUB_FINA.CO_ARUB) T1)                 
              
              
--SELECT @VNIM_SALD_FLUJ, @VDFE_INIC_NUEV, @VNNU_SEMA_NUEV, @VNNU_CONT_SEMA 'PRUEBA1'                 
                    
--SELECT @VNNU_SEMA_NUEV, @VDFE_INIC_NUEV, @VNIM_SALD_FLUJ              
                    
                    
--SELECT 'PRUEBA FINAL', @VNNU_SEMA_NUEV                    
                    
SELECT @VSDE_CAMP_0001 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV)))                   
SELECT @VSDE_CAMP_0002 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+1))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+1)))                
SELECT @VSDE_CAMP_0003 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+2))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+2)))                
SELECT @VSDE_CAMP_0004 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+3))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+3)))                
SELECT @VSDE_CAMP_0005 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+4))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+4)))                
SELECT @VSDE_CAMP_0006 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+5))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+5)))                
SELECT @VSDE_CAMP_0007 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+6))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+6)))                
SELECT @VSDE_CAMP_0008 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+7))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+7)))                
SELECT @VSDE_CAMP_0009 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+8))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+8)))                
SELECT @VSDE_CAMP_0010 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+9))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+9)))                
SELECT @VSDE_CAMP_0011 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+10))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+10)))                
SELECT @VSDE_CAMP_0012 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+11))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+11)))                
SELECT @VSDE_CAMP_0013 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+12))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+12)))                
SELECT @VSDE_CAMP_0014 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+13))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+13)))                
SELECT @VSDE_CAMP_0015 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+14))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+14)))                
SELECT @VSDE_CAMP_0016 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+15))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+15)))                
SELECT @VSDE_CAMP_0017 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+16))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+16)))                
SELECT @VSDE_CAMP_0018 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+17))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+17)))                
SELECT @VSDE_CAMP_0019 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+18))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+18)))                
SELECT @VSDE_CAMP_0020 = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+19))))) + 
RTRIM(LTRIM(STR(@VNNU_SEMA_NUEV+19)))                
    
           
SELECT @VNNU_CONT_REPO = @VNNU_SEMA_NUEV + (10 +  @VNNU_COLU_VARI)        
               
While  @VNNU_CONT_REPO <= 20                        
    Begin                        
                        
  Select @VSDE_CAMP = 'IM_SE' + REPLICATE('0', 2-LEN(RTRIM(LTRIM(STR(@VNNU_CONT_REPO))))) 
+RTRIM(LTRIM(STR(@VNNU_CONT_REPO)))                        
                     
                        
  ----- SE HACE EL UPDATE EN LA TABLA CORRESPONDIENTE -------                        
                        
   EXECUTE('                        
UPDATE #TWFLUJ_CAJA_SEMA_Q02_4                           
SET  ' + @VSDE_CAMP + ' = 0               
' )                        
                                        
  Select @VNNU_CONT_REPO = @VNNU_CONT_REPO + 1                         
End                      
                
                             
 EXECUTE ('           
INSERT INTO #TWFLUJ_CAJA_Q15_1 (CO_EMPR, DE_EMPR, IM_SALD_FLUJ, CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR,  CO_SUBR, DE_SUBR,        
                               
IM_SE01, IM_SE02, IM_SE03, IM_SE04, IM_SE05, IM_SE06, IM_SE07, IM_SE08,                                      
IM_SE09, IM_SE10, IM_SE11, IM_SE12, IM_SE13, IM_SE14, IM_SE15, IM_SE16, IM_SE17, IM_SE18,                                     
 
IM_SE19, IM_SE20, CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC)                                   
SELECT CO_EMPR, DE_EMPR,  ISNULL(' + @VNIM_SALD_FLUJ + ',0)* ' + @VNNU_FACT + ', CO_ARUB, DE_ARUB, CO_RUBR, DE_RUBR, 
CO_SUBR, DE_SUBR,                                   
ISNULL(' + @VSDE_CAMP_0001 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0002 + ',0)* ' + @VNNU_FACT + ', 
ISNULL(' + @VSDE_CAMP_0003 + ',0)* ' + @VNNU_FACT + ',         
ISNULL(' + @VSDE_CAMP_0004 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0005 + ',0)*' + @VNNU_FACT + ',  
ISNULL(' + @VSDE_CAMP_0006 + ',0)* ' + @VNNU_FACT + ',         
ISNULL(' + @VSDE_CAMP_0007 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0008 + ',0)* ' + @VNNU_FACT + ', 
ISNULL(' + @VSDE_CAMP_0009 + ',0)* ' + @VNNU_FACT + ',         
ISNULL(' + @VSDE_CAMP_0010 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0011 + ',0)* ' + @VNNU_FACT + ', 
ISNULL(' + @VSDE_CAMP_0012 + ',0)* ' + @VNNU_FACT + ',         
ISNULL(' + @VSDE_CAMP_0013 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0014 + ',0)* ' + @VNNU_FACT + ', 
ISNULL(' + @VSDE_CAMP_0015 + ',0)* ' + @VNNU_FACT + ',                               
ISNULL(' + @VSDE_CAMP_0016 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0017 + ',0)* ' + @VNNU_FACT + ', 
ISNULL(' + @VSDE_CAMP_0018 + ',0)* ' + @VNNU_FACT + ',         
ISNULL(' + @VSDE_CAMP_0019 + ',0)* ' + @VNNU_FACT + ', ISNULL(' + @VSDE_CAMP_0020 + ',0)* ' + @VNNU_FACT + ',         
            
CO_BANC, NU_CNTA_BANC, DE_CNTA_BANC, TI_DETA_EMPR, TI_DETA_BANC                                  
FROM #TWFLUJ_CAJA_SEMA_Q02_4                                  
ORDER BY CO_EMPR, TI_DETA_EMPR, TI_DETA_BANC, NU_ORDE_ARUB, NU_ORDE_RUBR, NU_ORDE_SUBR                                  
')                   
                
                      
                    
                  
RETURN                                  
                                        
/********************************* FIN ***********************************/


GO
